The present application relates to media streaming in communications networks, and more particularly to providing structured peer-to-peer overlay network in support of interactive media-on-demand applications.
Background: Media-on-Demand in the Internet
With the grow of popularity of broadband Internet access, there has been increasing interest on media streaming services. Media-on-Demand (MoD) is one of such attractive services where music or movies are delivered to desktops of distributed users with low delay and free interactivity (supporting, for example, pause, jump forward/backward, etc.). However, MoD provided by traditional server-client model (in which each client has a dedicated stream from server) does not scale to hundreds or even thousands of MoD clients. This is mainly due to heavy server load and limited network bandwidth at the server side. Despite many proposals on scalable media streaming, providing such services is still challenging due to the lack of widely deployed multicast-capable networks and dedicated proxy servers. Recently, peer-to-peer technologies (P2P) have become useful and popular for many scalable applications, for instance, multicasting and file sharing among users over the world.
In P2P systems, cooperative peers self-organize themselves into overlay networks via unicast tunnels. Each peer (called overlay node) in an overlay network acts as an application-layer proxy, caching and relaying data for others. In addition, by sharing their own resources such as storage and network bandwidth, the capacity of the whole system is vastly amplified compared to traditional server-client architecture. Recent research shows that it is feasible to support large-scale media streaming in the Internet using P2P approach.
Though P2P approach is able to support on-demand media streaming, the problem is still challenging. Because of the unpredictability of user requests in on-demand media streaming, multicasting the stream using ALM cannot fulfill all asynchronous user access requests. Further, unreliable and dynamic peers call for a more robust and resilient system design, and the difficulty is worsened by the dynamic access pattern made by user interactivity.
The lack of widely deployed multicast-capable networks limits the capability to provide on-demand media streaming using IP multicast. Live media streaming using P2P approach is even harder. Since users in those systems receive the same portion of the media simultaneously, any peer can exchange the content with others. However, in P2P MoD system, there is a temporal dependency among peers. This means only peers with the requested media in their buffers could serve the requesting peer. Therefore, it is more restrictive to find parents in P2P Mod system. Further limited is the interactivity in live streaming which is not supported in today's systems.
Most of current P2P Mod systems organize peers into tree-based overlays, where a parent failure would adversely affect all its descendants. When other systems use multiple parents to solve the problem, all parents there are required to have a full copy, an unrealistic requirement!
Yet another hybrid approach is available. Upon a tree overlay, a gossip-based data exchange mechanism is added to withstand the unreliability of peers. Since all the parent-children relationships and gossip partners are assigned by a central server, the central server needs to keep track of all the users. In a P2P system this centralized approach potentially generates a large amount of control traffic to congest the network near the central server. A later development of a distributed gossip partnership management uses a distributed AVL tree to search parents. But, it does not consider the network locations of peers in assigning parent-children relationship and partnership. Bad assignment may lead to transmission of the stream to and fro some bottleneck links many times. Also, transmission from distant parents may experience higher probability of packet loss.
Prime: Peer-to-Peer Interactive Media-on-Demand
The present application provides a new architecture for Media-on-Demand (MoD) service to a large group of users in the Internet which is quite different from prior approaches, and which has greatly improved scaling characteristics. In various embodiments this is implemented with a decentralized approach, leading to a system scalable to large number of users. Experimental results show that PRIME achieves very low server load with well-balanced and low client load. Additionally, the quality of received media is high while control bandwidth overhead is low.
The advantages of the proposed approach are highlighted as follows:                Scalability—by distributing streaming tasks to peers the system could support thousands of users with low server bandwidth required.        Efficiency—users could start playing the media within a few seconds.        Resilience to node/link failure—because of multi parent nodes support node/link failure does not affect the quality of received media.        Supporting user interactivity—because of the buffering and indexing techniques system could support random seeking in the media.        Completely decentralized—the system does not rely on a single server to organize overlay nodes.        Low client cache requirement—because clients are not required to store a full copy of media, system does not require high client cache capability.        Finally system design supports clients' bandwidth and cache heterogeneity, and minimized node failure or departure effects because of the support of multi senders.        